import axios from 'axios'

// 配置axios基础URL
axios.defaults.baseURL = 'http://localhost:8080' 

/**
 * 铝价数据API服务
 */
export const aluminumPriceApi = {
  /**
   * 获取铝价数据列表
   * @param {Object} params 查询参数
   * @returns {Promise} 请求Promise
   */
  getList(params) {
    return axios.get('/api/prices/list', { params })
  },

  /**
   * 获取最新铝价数据
   * @param {String} source 价格来源
   * @returns {Promise} 请求Promise
   */
  getLatest(source) {
    return axios.get(`/api/prices/latest`, { params: { source } })
  },

  /**
   * 手动触发爬取上海铝价
   * @returns {Promise} 请求Promise
   */
  crawlShanghai() {
    return axios.get('/api/prices/crawl/shanghai')
  },

  /**
   * 手动触发爬取长江铝价
   * @returns {Promise} 请求Promise
   */
  crawlChangjiang() {
    return axios.get('/api/prices/crawl/changjiang')
  },

  /**
   * 手动更新铝价数据
   * @param {Object} data 铝价数据
   * @returns {Promise} 请求Promise
   */
  updatePrice(priceSource, averagePrice, priceDate) {
    return axios.post('/api/prices/update', null, {
      params: {
        priceSource,
        averagePrice,
        priceDate
      }
    })
  },

  /**
   * 删除铝价数据
   * @param {Number} id 铝价数据ID
   * @returns {Promise} 请求Promise
   */
  delete(id) {
    return axios.delete(`/api/prices/${id}`)
  },

  /**
   * 批量删除铝价数据
   * @param {Array} ids 铝价数据ID列表
   * @returns {Promise} 请求Promise
   */
  batchDelete(ids) {
    return axios.delete('/api/prices/batch', {
      data: ids
    })
  }
}